package qc.common.core.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * EHS任务节点类型，流程控制或操作类型
 *
 * @author QuCheng Tech
 * @since 2024/9/4
 */
@Getter
@AllArgsConstructor
public enum EhsTaskNodeTypeEnum {
    //开始：创建任务
    //分支：创建子任务
    //合并：与分支相对立。暂时没有该类型的设计。
    //结束：任务完成/完结。
    //终止：任务终止/取消。
    //重启：重新激活任务。
    //流转：委派、上报、指派/转派。在不同的人之间的流转控制。
    //执行：实质性的开展与任务主题相关的工作执行。
    //审批：进行审批动作，审批通过或不通过。

    BEGIN(0, "开始"),//创建任务
    CREATE_SUB(1, "分支"),//创建子任务
    CANCEL(7, "终止"),//终止、取消
    RESTART(8, "重启"),//重新激活任务
    FINISH(9, "结束"),//完成/完结

    SUBMIT(11, "上报"),//向上级流转，上报
    EXCHANGE(12, "指派"),//流程流转，指派
    ASSIGN(13, "委派"),//向下级流转，委派执行

    EXECUTE(20, "执行"),
    AUDIT(21, "审批");//审批、确认

    @EnumValue
    private int index;
    private String name;
}
